// #ifndef VUE3
import Vue from 'vue'
import App from './App'
import {
  $http
} from '@escook/request-miniprogram'
import uView from "uview-ui";
// 1. 导入 store 的实例对象
import store from './store/store.js'
// 在 uni-app 项目中，可以把 $http 挂载到 uni 顶级对象之上，方便全局调用
uni.$http = $http  
Vue.use(uView);
// 挂载请求根路径
$http.baseUrl = 'https://lianghj.top:3000/'
// $http.baseUrl = 'http://localhost:3000/'
// $http.withCredentials=true 
$http.timeout = 20000,
  // 请求开始之前做一些事情
  // 请求拦截器 
  $http.beforeRequest = function(options) {
    if (options.url.includes('/login/qr/check')) {
      return ''
    }
    // console.log(options);
    // options.data.cookie = uni.getStorageSync('cookie')
    uni.showLoading({
      title: '数据加载中...'
    })

  }
// 请求完成之后做一些事情
// 响应拦截器
$http.afterRequest = function(response) {
    uni.hideLoading()
    err => {
      uni.hideLoading()
      console.log(response);
      if (response.data) {
        if (response.data.code === 406) {
          return uni.$showMsg(response.data.msg)
        }
        if (response.data.code === 501) {
          return uni.$showMsg(response.data.msg + ' 扫码登录更快噢~')
        }
        if (response.data.code === -462) {
          return uni.$showMsg('官方限制: 请您到  ' + err.response.data.data.blockText)

        }

      }
      uni.showToast({
        title: '网络不太好呢',
        icon: 'error'
      })

      return Promise.reject(new Error(err))
    }
  },
  uni.$showMsg = function(title = '数据请求失败!', duration = 1500) {
    uni.showToast({
      title,
      duration,
      icon: 'none'
    })
  }
Vue.config.productionTip = false
App.mpType = 'app'

const app = new Vue({
  ...App,
  store
})
app.$mount()
// #endif

// #ifdef VUE3
import {
  createSSRApp
} from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif
